﻿using QuanLyGiaoVuDAL.DTO;
using QuanLyGiaoVuService.Domain;
using System;
using System.Collections.Generic;
namespace QuanLyGiaoVuService.ReportServices
{
    public interface ILopMonHocReportService
    {
        IEnumerable<LopMonHocDTO> GetAllLopMonHoc();
        IEnumerable<LopMonHocDTO> GetAllLopMonHocTheoGiangVien(Guid maGiangVien, bool? giangVienXacNhan, bool? daPhanHoi, bool? dongYMoLop);
        IEnumerable<LopMonHocDTO> GetAllLopMonHocTheoGiangVienTrongHocKy(Guid maGiangVien, Guid maHocKy, bool? giangVienXacNhan, bool? daPhanHoi, bool? dongYMoLop);
        IEnumerable<LopMonHocDTO> GetAllLopMonHocTheoHocKy(Guid maHocKy, bool? giangVienXacNhan, bool? daPhanHoi, bool? dongYMoLop);
        IEnumerable<LopMonHocDTO> GetAllLopMonHocTheoHocKy(Guid maHocKy, Guid? maMonHoc, bool? giangVienXacNhan, bool? daPhanHoi, bool? dongYMoLop);
        LopMonHocDTO GetLopMonHocById(Guid id);
        IEnumerable<LopMonHocDTO> GetLopMonHocByIdList(string idList);

        LoaiLopDTO GetLoaiLopMonHocById(Guid id);
        IEnumerable<LoaiLopDTO> GetAllLoaiLopMonHoc();

        LopSinhVienDTO GetLopSinhVienById(Guid id);
        IEnumerable<LopSinhVienDTO> GetAllLopSinhVien();

        DangKyHocPhanTemplateModel LayThongTinDangKyHocPhanCuaLop(Guid maLopMonHoc);
    }
}
